<html>
<head><meta charset="utf-8"><title>const-exprs-unfication · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html">const-exprs-unfication</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="136264966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136264966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136264966">(Oct 22 2018 at 12:51)</a>:</h4>
<p>I was wondering what else needs to be done to add unification of constant expressions for const-generics</p>



<a name="136264993"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136264993" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136264993">(Oct 22 2018 at 12:52)</a>:</h4>
<p>Everyone told me that <span class="user-mention" data-user-id="124288">@Oli</span> is the right person to discuss this :)</p>



<a name="136265064"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136265064" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136265064">(Oct 22 2018 at 12:53)</a>:</h4>
<p>can you link the tracking issue? I don't have anything about this in the cache right now ;)</p>



<a name="136265236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136265236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136265236">(Oct 22 2018 at 12:56)</a>:</h4>
<p>I think there is no issue for this. It is mentioned on the const-generics RFC but nothing else</p>



<a name="136265626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136265626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136265626">(Oct 22 2018 at 13:04)</a>:</h4>
<p>iirc we need at least lazy normalization so that we can start mixing type parameters into the value of constants</p>



<a name="136265856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136265856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136265856">(Oct 22 2018 at 13:09)</a>:</h4>
<p>When you say normalization, whose evaluation are we talking about?</p>



<a name="136265954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136265954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136265954">(Oct 22 2018 at 13:10)</a>:</h4>
<p>the evaluation of types</p>



<a name="136265971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136265971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136265971">(Oct 22 2018 at 13:11)</a>:</h4>
<p>const generics are essentially types</p>



<a name="136265983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136265983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136265983">(Oct 22 2018 at 13:11)</a>:</h4>
<p>I mean someone implemented const generics in <code>typenum</code></p>



<a name="136265986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136265986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136265986">(Oct 22 2018 at 13:11)</a>:</h4>
<p>we just want to make that efficient and give it first class support afaik</p>



<a name="136266078"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136266078" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136266078">(Oct 22 2018 at 13:13)</a>:</h4>
<p>Even then, eventually you'll need some kind of unification for constants to decide when two types are equal, right?</p>



<a name="136266256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136266256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136266256">(Oct 22 2018 at 13:16)</a>:</h4>
<p>right... which is easy if everything can be evaluated</p>



<a name="136266265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136266265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136266265">(Oct 22 2018 at 13:16)</a>:</h4>
<p>but not if there are type variables left</p>



<a name="136266286"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136266286" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136266286">(Oct 22 2018 at 13:16)</a>:</h4>
<p>Like we know <code>X - X == 0</code> for <code>X: usize</code>, but the compiler won' t eval it if we don't know the value</p>



<a name="136266302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136266302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136266302">(Oct 22 2018 at 13:17)</a>:</h4>
<p>Shoudn't constant expression evaluation take care of that?</p>



<a name="136266316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136266316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136266316">(Oct 22 2018 at 13:17)</a>:</h4>
<p>not if we don't know <code>X</code> yet</p>



<a name="136266321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136266321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136266321">(Oct 22 2018 at 13:17)</a>:</h4>
<p>it might be <code>T::X</code></p>



<a name="136266327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136266327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136266327">(Oct 22 2018 at 13:17)</a>:</h4>
<p>and <code>T</code> might be a generic parameter of the current function</p>



<a name="136266393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136266393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136266393">(Oct 22 2018 at 13:18)</a>:</h4>
<p>jmmm</p>



<a name="136266904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136266904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136266904">(Oct 22 2018 at 13:26)</a>:</h4>
<blockquote>
<p>but not if there are type variables left</p>
</blockquote>
<p>Is there any chance that after normalization there are some type variables hanging around?</p>



<a name="136266932"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136266932" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136266932">(Oct 22 2018 at 13:26)</a>:</h4>
<p>Or all the constant parameters will be a bunch of constant values?</p>



<a name="136267060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136267060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136267060">(Oct 22 2018 at 13:28)</a>:</h4>
<p>there will always be some left</p>



<a name="136267072"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136267072" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136267072">(Oct 22 2018 at 13:28)</a>:</h4>
<p>if your function is generic and public, you need to keep it generic</p>



<a name="136267143"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136267143" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136267143">(Oct 22 2018 at 13:30)</a>:</h4>
<p>Well, let's say normalization happened somehow. Now what's the next step?</p>



<a name="136267323"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136267323" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136267323">(Oct 22 2018 at 13:32)</a>:</h4>
<p>not sure, that's about the extend that I have explored</p>



<a name="136267449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136267449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136267449">(Oct 22 2018 at 13:34)</a>:</h4>
<p>any speculations?</p>



<a name="136267587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136267587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136267587">(Oct 22 2018 at 13:36)</a>:</h4>
<p>@eddyb told me the other day that the best point to do unification will be after miri's constant evaluation</p>



<a name="136267701"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136267701" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136267701">(Oct 22 2018 at 13:38)</a>:</h4>
<p>after?</p>



<a name="136267716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136267716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136267716">(Oct 22 2018 at 13:38)</a>:</h4>
<p>yeah, after</p>



<a name="136267732"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136267732" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136267732">(Oct 22 2018 at 13:38)</a>:</h4>
<p>hmm... I've brought this up multiple times, but we could implement a symbolic execution mode for miri</p>



<a name="136267747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136267747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136267747">(Oct 22 2018 at 13:39)</a>:</h4>
<p>then we can just evaluate these "unknown" (generic) values</p>



<a name="136267793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136267793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136267793">(Oct 22 2018 at 13:39)</a>:</h4>
<p>the idea has had mixed reception :D</p>



<a name="136267868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136267868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136267868">(Oct 22 2018 at 13:40)</a>:</h4>
<p>hahahahaha</p>



<a name="136268052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136268052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136268052">(Oct 22 2018 at 13:43)</a>:</h4>
<p>I had some questions about that part. After constant evaluation, we'll end up with a bunch of MIR code for each constant expression. My question was, how simple would that code be?</p>



<a name="136268214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136268214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136268214">(Oct 22 2018 at 13:45)</a>:</h4>
<p>const eval doesn't produce MIR code, it produces a graph of <code>Allocation</code> objects</p>



<a name="136268280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136268280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136268280">(Oct 22 2018 at 13:46)</a>:</h4>
<blockquote>
<p>then we can just evaluate these "unknown" (generic) values</p>
</blockquote>
<p>And what will happen if after symbolic evaluation you don't have enough constraints over a generic value?</p>



<a name="136268414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136268414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136268414">(Oct 22 2018 at 13:48)</a>:</h4>
<p>you error out if you can't prove something</p>



<a name="136268417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136268417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136268417">(Oct 22 2018 at 13:48)</a>:</h4>
<p>mostly array length equality I guess</p>



<a name="136268581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136268581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136268581">(Oct 22 2018 at 13:51)</a>:</h4>
<p>why are there "mixed receptions", what are the drawbacks?</p>



<a name="136269592"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136269592" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136269592">(Oct 22 2018 at 14:05)</a>:</h4>
<p>Well... symbolic miri is definitely nontrivial</p>



<a name="136269938"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136269938" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136269938">(Oct 22 2018 at 14:11)</a>:</h4>
<p>so is just a "there are other things that need attention right now" situation?</p>



<a name="136270033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270033">(Oct 22 2018 at 14:13)</a>:</h4>
<p>oh definitely</p>



<a name="136270084"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270084" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270084">(Oct 22 2018 at 14:14)</a>:</h4>
<p>like const eval needing another <code>N</code> rounds of cleanups :D</p>



<a name="136270088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270088">(Oct 22 2018 at 14:14)</a>:</h4>
<p>hahaha</p>



<a name="136270110"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270110" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270110">(Oct 22 2018 at 14:14)</a>:</h4>
<p>what if you had an ingnorant with enough initiative?</p>



<a name="136270156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270156">(Oct 22 2018 at 14:15)</a>:</h4>
<p>idk... seems really big. It took me 3 months of dedicated work to get <code>existential type</code> mostly working. Lazy normalization seems like a whole other level</p>



<a name="136270209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270209">(Oct 22 2018 at 14:16)</a>:</h4>
<p>The problem is I don't know where to start</p>



<a name="136270219"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270219" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270219">(Oct 22 2018 at 14:16)</a>:</h4>
<p>or what small preps we could start doing to make it easier in the future to do the big ones</p>



<a name="136270260"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270260" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270260">(Oct 22 2018 at 14:17)</a>:</h4>
<p>:(</p>



<a name="136270269"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270269" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270269">(Oct 22 2018 at 14:17)</a>:</h4>
<p>I think doing full chalkification is definitely a prerquisite</p>



<a name="136270304"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270304" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270304">(Oct 22 2018 at 14:17)</a>:</h4>
<p>so you can probably look at chalk's bugtracker and <a href="https://github.com/rust-lang/rust/issues/48049" target="_blank" title="https://github.com/rust-lang/rust/issues/48049">https://github.com/rust-lang/rust/issues/48049</a> to see what needs to be done to get that into the compiler</p>



<a name="136270373"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270373" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270373">(Oct 22 2018 at 14:18)</a>:</h4>
<p>without chalk I'm fairly certain there's two groups of people: those who don't dare touch lazy normalization and those who could do it but don't see the point without chalk first :D</p>



<a name="136270598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270598">(Oct 22 2018 at 14:22)</a>:</h4>
<p>How much time do you think it will take to do all of this working full-time on it?</p>



<a name="136270609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270609">(Oct 22 2018 at 14:22)</a>:</h4>
<p>well.. having someone working full-time on this</p>



<a name="136270800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136270800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136270800">(Oct 22 2018 at 14:25)</a>:</h4>
<p>I don't think this is a one-person job. in FTEs it's probably a year or two, and that is counting in superscalar speedup of multiple people working on it</p>



<a name="136271378"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136271378" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136271378">(Oct 22 2018 at 14:34)</a>:</h4>
<p>and of course there is no way to invest several people's time <br>
to work on such a long term project i guess</p>



<a name="136271419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136271419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136271419">(Oct 22 2018 at 14:35)</a>:</h4>
<p>there is, but it'll need some companies motivated to pay ppl for compiler work</p>



<a name="136271429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136271429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136271429">(Oct 22 2018 at 14:35)</a>:</h4>
<p>I mean <a href="https://www.fastly.com/about/jobs/apply?gh_jid=1320541" target="_blank" title="https://www.fastly.com/about/jobs/apply?gh_jid=1320541">https://www.fastly.com/about/jobs/apply?gh_jid=1320541</a> is a good start</p>



<a name="136271987"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136271987" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136271987">(Oct 22 2018 at 14:45)</a>:</h4>
<p>I don't think i'd qualify for that job haha :(</p>



<a name="136272417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136272417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136272417">(Oct 22 2018 at 14:53)</a>:</h4>
<p>I wonder how many job offers don't get good applicants because they are written in a way that they scare away many applicants</p>



<a name="136272532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136272532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136272532">(Oct 22 2018 at 14:55)</a>:</h4>
<p>Well anyway, thank you for the discussion</p>



<a name="136272753"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136272753" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136272753">(Oct 22 2018 at 14:59)</a>:</h4>
<p>I hope I didn't scare you away... I'm not sure why fingers were pointed at me for being of help on const generics.</p>



<a name="136272771"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136272771" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136272771">(Oct 22 2018 at 14:59)</a>:</h4>
<p>But if you want to help out, as said before, chalk is probably the best way to do that right now</p>



<a name="136272973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136272973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136272973">(Oct 22 2018 at 15:02)</a>:</h4>
<p>I'm not scared at all, I was just wondering if i could do of this my Master's Thesis, but I'll need a shorter project for that. Even though I'd love to help on it</p>



<a name="136274107"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136274107" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136274107">(Oct 22 2018 at 15:20)</a>:</h4>
<p><span class="user-mention" data-user-id="132916">@Christian Poveda</span> I found the issue I was thinking about: <a href="https://github.com/rust-lang/rust/issues/44580" target="_blank" title="https://github.com/rust-lang/rust/issues/44580">https://github.com/rust-lang/rust/issues/44580</a></p>



<a name="136274149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136274149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136274149">(Oct 22 2018 at 15:21)</a>:</h4>
<p>The issue for the RFC?</p>



<a name="136274699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136274699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136274699">(Oct 22 2018 at 15:28)</a>:</h4>
<p>yes</p>



<a name="136274951"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136274951" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136274951">(Oct 22 2018 at 15:32)</a>:</h4>
<p>I thought that it was blocked until varkor's PR gets merged</p>



<a name="136275209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136275209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136275209">(Oct 22 2018 at 15:36)</a>:</h4>
<p>This one <a href="https://github.com/rust-lang/rust/pull/53645" target="_blank" title="https://github.com/rust-lang/rust/pull/53645">https://github.com/rust-lang/rust/pull/53645</a></p>



<a name="136276559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/const-exprs-unfication/near/136276559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Christian Poveda <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/const-exprs-unfication.html#136276559">(Oct 22 2018 at 15:58)</a>:</h4>
<p>If you see that any small advance could be done somehow you can count on me :P</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>